package com.tm.chargecar.result;

import com.tm.chargecar.enums.ResultEnum;
import lombok.Data;

@Data
public class Result<T> {
    private Integer code;
    private String msg;
    private T data;

    public Result() {


    }

    public Result(Integer code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public Result(ResultEnum resultEnum, T data) {
        this.code = resultEnum.getCode();
        this.msg = resultEnum.getMsg();
        this.data = data;
    }


    public Result(Integer code , String msg) {
        this.code = code;
        this.msg = msg;
    }

    public Result(ResultEnum resultEnum) {
        this.code = resultEnum.getCode();
        this.msg = resultEnum.getMsg();

    }

/*
    public static Result SUCCESS(Object data){
       return new Result(ResultEnum.SUCCESS,data);
    }

    public static Result SUCCESS(){
        return SUCCESS(null);
    }

    public static Result ERROR(){
        return ERROR(ResultEnum.ERROR);
    }

    public static Result ERROR(Integer code,String msg){
        return new Result(code,msg);
    }

    public static Result ERROR(ResultEnum resultEnum){
        return new Result(resultEnum);
    }
*/

 public  static  Result SUCCESS(){

     return SUCCESS(ResultEnum.SUCCESS);
 }

    public  static  Result SUCCESS(Object data){

        return new Result(ResultEnum.SUCCESS,data);
    }
    public  static  Result SUCCESS(ResultEnum data){

        return new Result(data);
    }


    public  static  Result ERROR(){

        return new Result(ResultEnum.ERROR);
    }

    public  static  Result ERROR(Integer code,String msg){

        return new Result(code , msg);
    }

    public static Result ERROR(ResultEnum resultEnum){
        return new Result(resultEnum);
    }




















































































































































}
